export const sysFilterMethod = (node, keyword) => {
  const [parentFilter, childFilter] = keyword.split('+').map((cond) => cond.trim())
  // 首先，检查是否存在过滤条件
  if (parentFilter) {
    const parentNodeName = node.text.toLowerCase() // 假设节点名称在 text 属性中
    if (!parentNodeName.includes(parentFilter.toLowerCase())) {
      // 如果节点名称不包含父级过滤条件，直接返回 false，表示该节点不满足条件
      return false
    }
  }

  // 如果存在子级过滤条件，则进一步检查子节点是否满足条件
  if (childFilter) {
    const pathLabels = node.pathLabels || [] // 假设子节点在 children 属性中
    const childMatches = pathLabels.some((child) => {
      const childNodeName = child.toLowerCase()
      return childNodeName.includes(childFilter.toLowerCase())
    })

    // 如果子节点中没有任何一个满足条件，则返回 false，表示该节点不满足条件
    if (!childMatches) {
      return false
    }
  }

  // 如果父级过滤条件满足，或者没有指定父级过滤条件，则返回 true，表示该节点满足条件
  return true
}
